#include "datafile.h"

dataFile::dataFile()
{

}

void dataFile::CreateDir(QString Dirpath)
{
    //创建文件夹
    QString dir_str =Dirpath;
    // 检查目录是否存在，若不存在则新建
    QDir dir;
    if(!dir.exists(dir_str))
    {
     dir.mkpath(dir_str);
    }


}

void dataFile::WriteFile(QString filepath, QString content)
{
    //实例QFile
    QFile file(filepath);
    //存在打开，不存在创建
    file.open(QIODevice::ReadWrite | QIODevice::Text | QIODevice::Append);
    //写入内容,这里需要转码，否则报错
    QByteArray str = content.toUtf8();
    //写入QByteArray格式字符串
    file.write(str);
    //关闭文件
    file.close();
    return ;
}

bool dataFile::deleteDir(const QString &path)
{

        if (path.isEmpty())
        {
              return false;
        }
        QDir dir(path);
        if(!dir.exists())
        {
            return true;
        }
        dir.setFilter(QDir::AllEntries | QDir::NoDotAndDotDot); //设置过滤
        QFileInfoList fileList = dir.entryInfoList(); // 获取所有的文件信息
        foreach (QFileInfo file, fileList)
        { //遍历文件信息
            if (file.isFile())
            { // 是文件，删除
                file.dir().remove(file.fileName());
            }
            else
            { // 递归调用函数，删除子文件夹
                deleteDir(file.absoluteFilePath());
            }
        }
        return dir.rmpath(dir.absolutePath()); // 这时候文件夹已经空了，再删除文件夹本身
}
